package util;

import java.sql.SQLException;

import org.apache.log4j.Logger;



public class LoggerHelper {
  	
  protected static Logger logger;
  	
	private LoggerHelper() {
		
	}

	
	/**
	 * @param clazz
	 * @param metodo
	 * @param e
	 */
	public static void loguearException(
			Class clazz,
			String metodo,
			Exception e) {
		setLogger(Logger.getLogger(clazz));
		logger.error("M�todo: " + metodo + "\n Clase: " + e.getClass() + "\n Mensaje: " + e.getMessage(), e);
	}

	/**
	 * @param clazz
	 * @param metodo
	 * @param e
	 */
	public static void loguearSQLException(
			Class clazz,
			String metodo,
			SQLException e) {
	  setLogger(Logger.getLogger(clazz));
		logger.error("M�todo: " + metodo + "\n Clase: " + e.getClass() + "\n Mensaje: " + e.getMessage() + "\n C�digo de error SQL: " + e.getErrorCode(), e);
	}


	@SuppressWarnings("unused")
	private static Logger getLogger() {
	  return logger;
	}

	private static void setLogger(Logger logger) {
	  LoggerHelper.logger = logger;
	}
	
	/**
	 * @param clazz
	 * @param metodo
	 * @param texto
	 */
	public static void loguearError(
		Class clazz,
		String metodo, String texto) {
	  setLogger(Logger.getLogger(clazz));
	  logger.error("Método: " + metodo + ". Error ocurrido: " + texto);
}

	public static void loguearErrorStr(
			String pagina,
			String metodo, String texto) {
		  setLogger(Logger.getLogger(pagina));
		  logger.error("Tipo: " + metodo + " Error ocurrido: " + texto);
	}

  /**
 * @param clazz
 * @param metodo
 * @param msg

 */


public static void loguearMensaje(Class clazz, String metodo, String msg) {
	 setLogger(Logger.getLogger(clazz));
	 logger.info("Metodo: " + metodo + " Mensaje: " + msg);
	 
	 
  }

public static void loguearMensajeTracer( String metodo, String msg) {
//	 setLogger(Logger.getLogger("filters"));
         Logger log = Logger.getLogger("filters");
	 log.info("Metodo: " + metodo + " Mensaje: " + msg);
  }

public static void loguearMensajeCN( String metodo, String msg) {
	 setLogger(Logger.getLogger("servlets"));
	 logger.info(msg);
  }

  /**
 * @param clazz
 * @param metodo
 * @param msg
 */
public static void loguearMensaje(String clazz, String metodo, String msg) {
		 setLogger(Logger.getLogger(clazz));
		 logger.info("Clase: " + clazz + "<br>M�todo: " + metodo + "<br> Mensaje: " + msg);
		 
	}
	


  
  

}